/*******************************************************************************
 * Copyright (c) 2006 CEA List.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     CEA List - initial API and implementation
 *******************************************************************************/
package com.cea.papyrus.core.helper;

import java.util.List;

import org.eclipse.emf.common.util.Enumerator;

/**
 * Basic implementation of the {@link IHelperDescriptor} interface.
 */
public class HelperDescriptor implements IHelperDescriptor {

	/**
	 * type of the element.
	 */
	private Class elementClass;
	
	/**
	 * possible enumerator.
	 */
	private Enumerator enumerator;
	
	/**
	 * additional data attached to the element.
	 */
	private Object extendedData;
	
	/**
	 * list of stereotypes to be applied on the element, in case of element creation.
	 */
	private List<String> stereotypes; 
	
	/**
	 * Creates a new HelperDescriptor.
	 */
	public HelperDescriptor() {
	}
	
	/* (non-Javadoc)
	 * @see com.cea.papyrus.core.common.helper.IHelperDescriptor#getElementClass()
	 */
	/**
	 * 
	 * 
	 * @return 
	 */
	public Class getElementClass() { 
		return elementClass;
	}
	
	/* (non-Javadoc)
	 * @see com.cea.papyrus.core.common.helper.IHelperDescriptor#setElementClass(java.lang.Class)
	 */
	/**
	 * 
	 * 
	 * @param elementClass 
	 */
	public void setElementClass(Class elementClass) {
		this.elementClass = elementClass;
	}

	/* (non-Javadoc)
	 * @see com.cea.papyrus.core.common.helper.IHelperDescriptor#getEnumerator()
	 */
	/**
	 * 
	 * 
	 * @return 
	 */
	public Enumerator getEnumerator() {
		return enumerator;
	}
	
	/* (non-Javadoc)
	 * @see com.cea.papyrus.core.common.helper.IHelperDescriptor#setEnumerator(org.eclipse.emf.common.util.Enumerator)
	 */
	/**
	 * 
	 * 
	 * @param enumerator 
	 */
	public void setEnumerator(Enumerator enumerator) {
		this.enumerator = enumerator;
	}

	/* (non-Javadoc)
	 * @see com.cea.papyrus.core.common.helper.IHelperDescriptor#getExtendedData()
	 */
	/**
	 * 
	 * 
	 * @return 
	 */
	public Object getExtendedData() {
		return extendedData;
	}
	
	/* (non-Javadoc)
	 * @see com.cea.papyrus.core.common.helper.IHelperDescriptor#setExtendedData(java.lang.Object)
	 */
	/**
	 * 
	 * 
	 * @param extendedData 
	 */
	public void setExtendedData(Object extendedData) {
		this.extendedData = extendedData;
	}

	/* (non-Javadoc)
	 * @see com.cea.papyrus.core.common.helper.IHelperDescriptor#getStereotypes()
	 */
	/**
	 * 
	 * 
	 * @return 
	 */
	public List<String> getStereotypes() {
		return stereotypes;
	}

	/* (non-Javadoc)
	 * @see com.cea.papyrus.core.common.helper.IHelperDescriptor#setStereotypes(java.util.List)
	 */
	/**
	 * 
	 * 
	 * @param stereotypes 
	 */
	public void setStereotypes(List<String> stereotypes) {
		this.stereotypes = stereotypes;
	}
}
